#include <header.h>
#include "queue.h"
#include "command.h"

enum{
    CD,
    LS,
    PWD,
    UPLOAD,
    DOWNLOAD,
    ERROR
};

typedef struct status_s{

    int thread_num; // 子线程的个数
    pthread_t * thread_ids;// 线程的id

    queue_t queue;

    pthread_mutex_t lock;
    pthread_cond_t cond;

    int exit_flag;

}status_t;

void *thread_main(void *p);

// 初始化共享的数据
int init_status(status_t * status, int num);

// 启动子线程
int init_thread_pool(status_t *status);


// 启动socket监听
int init_tcp(int *socket_fd, char *port, char *ip);

// 添加epoll监听
int add_to_epoll(int epoll_fd, int fd);

// 和客户端进行通信
int work(int net_fd);

int recvn(int fd,void* buf,int size);

